<style>
this {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .3);
  -webkit-transition: opacity 200ms;
  transition: opacity 200ms;
}
</style>
<div @click.self="action">
  <slot></slot>
</div>